草庐IT

AngularJS 控制器

全部标签

javascript - AngularJs - 如何在导航到新路线时清理 Controller

我有一个Controller,它通过一个可观察对象加载大量数据。如果我离开该路线并且View从页面中删除,我如何在我的Controller中得到通知,以便我可以停止Controller中的数据加载?我基本上想要一个在不再需要Controller时触发的停用功能或清理功能。 最佳答案 您可以监听$destroy事件,并执行一些清理/拆卸操作:module.controller("SomeController",function($scope){$scope.$on("$destroy",function(){//cleanuphere

javascript - AngularJS - 哪个范围在性能方面更好? Object.key 还是一些变量?

假设我必须存储客户信息,并且要管理双向绑定(bind),我将在此处使用$scope。所以我的疑问是,哪种方法更好?$scope.firstname="foo";$scope.lastname="bar";$scope.cellno="1234567890";$scope.email="foobar@example.com";或$scope.customerDetailsObj={};$scope.customerDetailsObj.firstname="foo";$scope.customerDetailsObj.lastname="bar";$scope.customerDetai

javascript - 如何使用 javascript 计时来控制鼠标停止和鼠标移动事件

所以我在aspx页面上有一个控件(map)。我想写一些javascript来加载以下设置:当鼠标停在控件上时=一些代码当鼠标移动时=一些代码(但前提是移动时间超过250百万秒)这可以在停止和移动时触发代码...functionsetupmousemovement(){varmap1=document.getElementById('Map_Panel');varmap=document.getElementById('Map1');map1.onmousemove=(function(){varonmousestop=function(){//codetodoonstop},threa

javascript - Fancybox 弹出窗口 + JSVideo HTML5 视频 - 为什么我失去了控制权?

我正在使用JQuery插件Fancybox和JSVideo,最终我希望通过fancybox弹出视频并在该弹出窗口中播放HTML5视频我有这个工作-唯一的问题是视频控件不是我所期望的...它没有jsvideo控件..我不知道它是一个fancybox还是一个css东西,或两者兼而有之html很简单——它是一个指向javascript的缩略图javascript看起来像这样:$(document).ready(function(){$("a.fancyvideo5").click(function(){varurl=$(this).attr('name');$.fancybox({'padd

javascript - casperJS 没有登录到控制台

学习CasperJS试图理解为什么以下内容没有在控制台中显示我的结果....输出:casperjstestcasper.js[信息][幻影]开始...[info][phantom]Runningsuite:3步代码:varcasper=require('casper').create({loadImages:true,loadPlugins:true,verbose:true,logLevel:'debug',});casper.start(url,function(){this.debugPage();this.echo("Testecho.");this.fill('form#Lo

javascript - chrome DateTime 控件的 AngularJS 数据绑定(bind)在更新 24.0.1312.52 后不起作用

希望其他人也观察到这一点:-我们正在使用AngularJS1.0并使用type="date"和元素来获得Chrome的默认日期时间选择器。一切正常,直到chrome最近更新为[24.0.1312.52]。现在,如果我使用日期时间选择器更改日期,AngularJS数据绑定(bind)不会保存它以绑定(bind)$scope的json属性。如果我通过按下任何键盘键更改日期,数据绑定(bind)会将日期保存到属性绑定(bind)中。导致此问题的原因可能是什么? 最佳答案 我注意到了相同的行为,并注意到Sutikshan走在了正确的道路上。

javascript - 如何在 AngularJs 的指令中使用 $location

我正在创建一个指令,其中onclick将用户带到另一个页面。有点像定制的“href”标签。我希望$location会处理重定向功能,但由于我不知道的原因,这是行不通的。如果我在Controller中使用$location它可以工作,但在指令中,它不会。这是代码:angular.module("myAPP").directive('hpHref',['$location',function($location){return{restrict:"A",link:function(scope,el,attr){el.bind('click',function(){//morelogicco

javascript - 所有 Controller 模板中的 Angularjs 服务变量

我是Angularjs的新手。我创建了一个Angularjs服务来存储一些“全局”变量。它看起来像这样:.factory('authVars',function(){varsdo={baseBackendUrl:'https://www.myurl.com',user:'',password:'',token:'',isLogged:false};returnsdo;})现在我想在不同的Controller中使用ng-show/hide。whatEver这可能吗?还是将其存储在rootScope中更好?如果有一点帮助,我将不胜感激;-)thx 最佳答案

javascript - angularjs 使用 ng-repeat 调用 Filter 两次

我是angularjs的新手,正在尝试学习过滤器的概念。但在我的例子中,angularjs调用了过滤器两次。我原以为过滤器只运行一次,但是它运行了两次。无法理解为什么会这样..这是我的plunker... 最佳答案 如果我没有误解你的问题,这与here是同一个问题。Angularjsusesa'dirty-check'approach,soitneedtocallallthefilterstoseeifexistsanychange.Afterthisitdetectthathaveachangeononevariable(theo

javascript - AngularJS - ng-include ng-controller 和范围不绑定(bind)

我有以下主视图和options.html具有以下内容OptionsSearch但是“关键字”没有绑定(bind)到OptionsController中的范围。app.controller('OptionsController',['$scope',function($scope){$scope.keyword="all";$scope.search=function(){console.log("hello")};}]);当我点击按钮时,我没有看到hello并且关键字all没有出现在输入文本中。我尝试如下移动ng-controller部分一切都按预期进行。我通读了AngularJS-l